package main

import "fmt"

func getNameAndAge() (string, int) {
	return "tome", 3
}

func main() {
	/*
		  规范：
			    1. 包名称 应和文件名一样 尽量小写，不能使用大小写 下划线
				2. 文件命名 尽量为小写，下划线链接每个单词
				3. 结构体  驼峰命名
				4. 变量  小驼峰方式命名  bool类型则以 Has Is Can Allow 开头

			 变量声命语法格式：
			   	关键字 变量名 类型 值 ----> var str string = "张三"

		   类型：
			     int     -- 数字 ：没有赋值 默认: 0
				 string  -- 字符串
				 bool    -- 布尔 ： 只有true false 两个值, 默认：false
			 go语言中可自动类型推断类型可不用写

	*/

	// 单独声明一个变量
	// var name string || var name string = "tome"

	// 同时声明多个变量
	// var (
	// 	name string
	// 	age  int
	// 	sex  bool
	// )
	// name = "tome"
	// age = 12
	// sex = true

	// 短变量声明（声明变量的简洁写法 但不能放在函数外部）
	name := "tome"
	// age := 33
	// sex := true

	// 匿名变量
	// name, age := getNameAndAge()
	fmt.Printf("name: %v\n", name)
	// fmt.Printf("age: %v\n", age)
	// fmt.Printf("sex: %v\n", sex)

	// go 语言的运算符
	// 基本的 ：  +  - * /
	// 特殊的 ：--  ++
	// 比较的 ：>= <=  ==  !=
	// 逻辑的 ： ！ || &&
}
